#include <vector>
#include <iostream>
using namespace std;

class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        // 先判断区间是否为空，如果为空，直接返回空
        if (intervals.empty())
        {
            return {};
        }
        // 不为空
        // 结果数组
        vector<vector<int>> ans;
        // 排序元数组
        sort(intervals.begin(), intervals.end());
        // 遍历数组
        // 先把第一个区间放进去作为初始区间
            ans.push_back(intervals[0]);
        for (int i = 1; i < intervals.size(); i++)
        {
            
            // 判断，当前遍历到的区间的最大值是否大于结果数组中最后一个区间的最大值
            if (intervals[i][0] > ans.back().back())
            {
                // 大于就说明，区间不重合
                ans.push_back(intervals[i]);
            }else{
                // 否则就有重合，取出最大的没有重合的区间
                ans.back().back() = max(intervals[i].back(), ans.back().back());
            }
            
        }
        
        return ans;
    }
};

int main(){


    return 0;
}